package cc.lj.internal.mobilepay.infrastructure.po;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 中信请求响应日志表
 * @author liangxifeng
 * @date 2022/11/25 15:38
 */
@Data
@NoArgsConstructor
@TableName("citic_log")

public class CiticLogPO {
    /**
     * 主键
     */
    @TableId(value = "id")
    private Integer	id;

    /**
     * 商户订单号
     */
    private String	outTradeNo;

    /**
     * 微信/支付宝订单号
     */
    private String	transactionId;

    /**
     * 商户退款单号
     */
    private String	outRefundNo;

    /**
     * 微信退款单号[退款时微信产生]
     */
    private String	refundId;

    /**
     * 订单总金额,单位为分,不能带小数点
     */
    private Integer	totalFee;

    /**
     * 需要退款的金额,单位为分
     */
    private Integer	refundFee;

    /**
     * 返回状态码,SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看 result_code 来判断
     */
    private String	returnCode;

    /**
     * 返回信息,如非空为错误原因
     */
    private String	returnMsg;

    /**
     * 业务结果,SUCCESS:成功,FAIL:失败
     */
    private String	resultCode;

    /**
     * 具体错误代码
     */
    private String	errCode;

    /**
     * 错误代码描述
     */
    private String	errMsg;
    /**
     * [支付查询数据]交易状态 SUCCESS—支付成功,REFUND—转入退款,NOTPAY—未支付,CLOSED—已关闭,REVOKED—已撤销,USERPAYING—用户支付中,PAYERROR—支付失败
     */
    private String tradeState;

    /**
     * 交易类型,支付宝:pay.alipay.micropay—支付,pay.alipay.native—下单;微信:pay.weixin.micropay—支付,pay.weixin.native—下单;银联:pay.unionpay.micropay—支付,pay.unionpay.native—下单;钱包:pay.zxwalletpay.native—下单; 统一下单接口返回: ZXCOD-中信聚合码,JSAPI-微信公众号支付,ALCRE-支付宝创建订单,APP-支持APP端调起支付
     */
    private String tradeType;

    /**
     * [退款查询数据]退款状态 SUCCESS—退款成功,FAIL-失败,PROCESSING—退款处理中,CHANGE—转入代发
     */
    private String refundStatus;

    /**
     * 二维码链接
     */
    private String codeUrl;

    /**
     * 收银系统该字段=合同号,食街充值系统该字段=卡号[非中信日志字段]
     */
    private String	pactId;

    /**
     * 平台类型 payment:收银系统,mobile_payment:移动收款台,dining_recharge:食街充值系统[非中信日志字段]
     */
    private String	performType;

    /**
     * 接口类型 pay:统一支付, native:统一下单, query:统一查询, refund:统一退款, refundquery: 统一退款查询, close:统一关闭(微信), reverse: 撤销, notice: 接收中信通知[非中信日志字段]
     */
    private String	apiType;

    /**
     * 支付类型1:微信,2:支付宝[非中信日志字段]
     */
    private Integer	payType;

    /**
     * 新增时间(请求时间)[非中信日志字段]
     */
    private LocalDateTime addTime;

    /**
     * 修改时间（响应时间）[非中信日志字段]
     */
    private LocalDateTime responseTime;

    /**
     * 请求报文信息
     */
    private String	requestBody;

    /**
     * 响应报文信息
     */
    private String	responseBody;
}
